package com.ruicar.afs.cloud.manage.outer.api.change.relation.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author: Lee
 * @date: 2020/5/11 19:39
 * @description: 联系方式变更dto
 */
@Data
public class RelationChangeDTO {
    int pageSize;
    int pageNumber;
    /** 开始时间 申请提交时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("开始时间 申请提交时间")
    private Date startCreateDate;
    /** 结束时间 申请提交时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("结束时间 申请提交时间")
    private Date endCreateDate;
    /** 开始时间 案件审批完成时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("开始时间 案件审批完成时间")
    private Date startFinishDate;
    /** 结束时间 案件审批完成时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("结束时间 案件审批完成时间")
    private Date endFinishDate;




    /** 主键 */
    private Long id;
    /** 渠道id */
    @ApiModelProperty("渠道id")
    @JsonSerialize(using = ToStringSerializer.class)
    @JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
    private Long channelId;
    /** 合同号码 */
    @ApiModelProperty("合同号码")
    private String contractNo;
    /** 案件编号 */
    @ApiModelProperty("案件编号")
    private String caseNo;
    /** 数据来源 枚举值：CMS、多品系统 */
    @ApiModelProperty("数据来源 枚举值：CMS、多品系统")
    private DataSourceEnum dataSource;
    /** 变更主体 主借人、共借人、担保人 */
    @ApiModelProperty("变更主体 主借人、共借人、担保人")
    private PersonRoleTypeEnum changeSubject;
    /** 变更类型 枚举值：地址变更、联系方式变更、地址和联系方式变更 */
    @ApiModelProperty("变更类型 枚举值：地址变更、联系方式变更、地址和联系方式变更")
    private ContactChangeTypeEnum changeType;
    /** 开始时间 申请提交时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("开始时间 申请提交时间")
    private Date applyDate;
    /** 结束时间 案件审批完成时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("结束时间 案件审批完成时间")
    private Date endDate;
    /** 处理状态 枚举值 */
    @ApiModelProperty("处理状态 枚举值")
    private ProcessStatusEnum processStatus;
    /** 客户姓名 */
    @ApiModelProperty("客户姓名")
    private String custName;
    /** 证件号码 */
    @ApiModelProperty("证件号码")
    private String certNo;
    /** 业务来源 */
    @ApiModelProperty("业务来源")
    private BusinessSourceEnum businessSource;
    /**申请编号*/
    @ApiModelProperty("申请编号")
    private String applyNo;
    /** 合同状态 */
    @ApiModelProperty("合同状态")
    private ContractStatusEnum contractStatus;
    /** 变更信息 */
    @ApiModelProperty("变更信息")
    private String ChangeInfoJson;
}
